Part Number Hot Search : 
CMD57622 LS21G KF939V BAV16W TMU4N65H IL420 2SK817 L1330A
Product Description
Full Text Search
 

To Download PIC24FJ64GA002 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  ? 2009-2013 microchip technology inc. ds80000470h-page 1 pic24fj64ga004 family the pic24fj64ga004 family devices that you have received conform functionally to the current device data sheet (ds39881 e ), except for the anomalies described in this document. the silicon issues discussed in the following pages are for silicon revisions with the device and revision ids listed in ta bl e 1 . the silicon issues are summarized in table 2 . the errata described in this document will be addressed in future revisions of the pic24fj64ga004 family silicon. data sheet clarifications and corrections start on page 20 , following the discussion of silicon issues. the silicon revision level can be identified using the current version of mplab ? ide and microchip?s programmers, debuggers, and emulation tools, which are available at the microchip corporate web site ( www.microchip.com ). for example, to identify the silicon revision level using mplab ide in conjunction with mplab icd 2 or pickit? 3: 1. using the appropriate interface, connect the device to the mplab icd 2 programmer/ debugger or pickit? 3. 2. from the main menu in mplab ide, select configure>select device , and then select the target part number in the dialog box. 3. select the mplab hardware tool ( debugger>select tool ). 4. perform a ?connect? operation to the device ( debugger>connect ). depending on the devel- opment tool used, the part number and device revision id value appear in the output window. the devrev values for the various pic24fj64ga004 family silicon revisions are shown in ta b l e 1 . note: this document summarizes all silicon errata issues from all revisions of silicon, previous as well as current. only the issues indicated in the last column of table 2 apply to the current silicon revision ( b8 ). note: if you are unable to extract the silicon revision level, please contact your local microchip sales office for assistance. table 1: silicon devrev values part number device id ( 1 ) revision id for silicon revision ( 2 ) a3/a4b4b5b8 pic24fj64ga004 044fh 3003h 3042h 3043h 3046h pic24fj48ga004 044eh pic24fj32ga004 044dh pic24fj16ga004 044ch PIC24FJ64GA002 0447h pic24fj48ga002 0446h pic24fj32ga002 0445h pic24fj16ga002 0444h note 1: the device ids (devid and devrev) are located at the last two implemented addresses in configuration memory space. they are shown in hexadecimal in the format ?devid devrev?. 2: refer to the ?pic24fjxxxga0xx flash programming specification? (ds39768) for detailed information on device and revision ids for your specific device. pic24fj64ga004 family silicon errata and data sheet clarification
pic24fj64ga004 family ds80000470h-page 2 ? 2009-2013 microchip technology inc. table 2: silicon issue summary module feature item number issue summary affected revisions ( 1 ) a3/a4 b4 b5 b8 jtag ? 1. persistent pull-up (ra3) when jtag disabled. x lvd ? 2. no lvd interrupt with low-voltage condition at reset. x core idle mode 3. clock failure trap fails in idle mode. x core doze mode 4. ram read repeats on entering doze mode. x core bor 5. por and bor flags both set on bor. x core ram 6. ram size implementation on some devices. x a/d ? 7. unimplemented channels may be selected. x a/d ? 8. missing midscale conversion code. x a/d ? 9. device may not wake when convert on int0 trigger is selected. x i 2 c sda line state (i2c1) 10. line state may not be detected correctly. x uart ? 11. reception failures in high-speed mode. x uart ? 12. erroneous baud rate calculations in high-speed mode. x uart auto-baud 13. double receive interrupt with auto-baud reception. x uart auto-baud 14. insertion of spurious data with auto-baud reception. x uart auto-baud 15. auto-baud calculation errors causing transmit or receive failures. x uart break character generation 16. the uartx module will not generate back-to-back break characters. xxxx output compare ? 17. single missed compare events under certain conditions. x spi enhanced buffer mode 18. some flag bits are set at incorrect times in enhanced buffer mode. x spi ? 19. module in slave mode may ignore ssx pin and receive data anyway. x spi enhanced buffer mode 20. no spix interrupt in enhanced buffer mode under certain conditions. x i/o ? 21. spec change for v ol and v oh .x i/o ? 22. osco/ra3 driven immediately following por. x jtag ? 23. sync loss in icsp? mode. x note 1: only those issues indicated in the last column apply to the current silicon revision.
? 2009-2013 microchip technology inc. ds80000470h-page 3 pic24fj64ga004 family rtcc ? 24. write errors to alcfgrpt register. x i 2 c slave mode 25. in slave mode, ackstat bit state change. x i 2 c? 26. issues with write operations on i2cxstat. x uart irda ? 27. ir baud clock only available during transmit. x i/o pps 28. issues with digital signal priorities with rp12 and rp18. x uart uerif interrupt 29. no uerif flag with multiple errors. x x x x uart fifo error flags 30. perr and ferr are not correctly set for all bytes in receive fifo. xxxx core bor 31. spontaneous bor events with low-range v dd . xxxx core instruction set 32. loop count errors with repeat instruction and r-a-w stalls. x memory psv 33. false address error traps at lower boundary of psv space. xxx rtcc ? 34. decrement of alarm repeat counter under certain conditions. xxx spi master mode 35. spif and spiben may become set early under certain conditions. x i 2 c? master mode 36. module may respond to its own master transmission as a slave under certain conditions. xxxx i 2 c slave mode 37. failure to respond correctly to some reserved addresses in 10-bit mode. xxxx i 2 c? 38. tbf flag not cleared under certain conditions. x uart ? 39. erroneous sampling and framing errors when using two stop bits. xxxx oscillator sosc 40. low-power sosc unimplemented. x voltage regulator ? 41. standby mode not available. x core code-protect 42. general code protection disables bootloader functionality. x spix ? 43. interrupts when spix is operating in enhanced buffer mode. xxxx uart irda ? 44. rxinv bit operation is inverted in irda ? mode x core doze mode 45. instruction execution glitches following doze bit changes. xxxx table 2: silicon issue summary (continued) module feature item number issue summary affected revisions ( 1 ) a3/a4 b4 b5 b8 note 1: only those issues indicated in the last column apply to the current silicon revision.
pic24fj64ga004 family ds80000470h-page 4 ? 2009-2013 microchip technology inc. spi master mode 46. spurious transmission and reception of null data on wake-up from sleep (master mode). xxxx spi master mode 47. inaccurate spitbf flag with high clock divider. xxx spi framed modes 48. framed spix modes not supported. x x x x core data sram 49. higher current consumption during sram operations. xx i/o ports porta and portb 50. some i/o pin functions do not work correctly under certain conditions xxxx a/d converter ? 51. once the a/d module is enabled, it may continue to draw extra current xxxx uart tx interrupt 52. a tx interrupt may occur before the data transmission is complete. xxx i 2 csmbus 53. i2c1 may not function when i2c2 is in smbus mode. xxxx table 2: silicon issue summary (continued) module feature item number issue summary affected revisions ( 1 ) a3/a4 b4 b5 b8 note 1: only those issues indicated in the last column apply to the current silicon revision.
? 2009-2013 microchip technology inc. ds80000470h-page 5 pic24fj64ga004 family silicon errata issues 1. module: jtag when the jtag is disabled, the pull-up resistor on the tdi pin (pin 35/ra9) will stay enabled on the 44-pin variants of the device. this can cause the device to draw extra current when asleep if the pin is used as an input and held low. work around: the pin will not draw extra current if any of the following work around techniques are used: ? the pin is used as an output. ? the pin is driven high as an input. ? jtag is enabled. affected silicon revisions 2. module: low-voltage detect (lvd) the low-voltage detect interrupt will not occur if the device comes out of reset in a low-voltage state. to trigger an interrupt, the voltage must decrease to a low-voltage range while the device is running. work around none. affected silicon revisions 3. module: core if a clock failure occurs when the device is in idle mode, the oscillator failure trap does not vector to the trap service routine. instead, the device will simply wake-up from idle mode and continue code execution if the fail-safe clock monitor (fscm) is enabled. work around whenever the device wakes up from idle (assuming the fscm is enabled), the user software should check the status of the oscfail bit (intcon1<1>) to determine whether a clock failure occurred, and then perform an appropriate clock switch operation. affected silicon revisions 4. module: core if a ram read is performed on the instruction immediately prior to enabling doze mode, then an extra read event will occur when doze mode is enabled. on most sfrs and on user ram space, this will have no visible effect. however, this can cause registers which perform actions on reads, such as auto-incrementing or decrementing a pointer or removing data from a fifo buffer, to repeat that action, possibly resulting in lost data. work around on the instruction prior to entering doze mode, be sure not to read a register which performs a sec- ondary action. examples of this would be uartx and spix fifo buffers, and the rtcval registers. the easiest way to ensure this does not occur is to execute a nop instruction before entering doze mode. affected silicon revisions note: this document summarizes all silicon errata issues from all revisions of silicon, previous as well as current. only the issues indicated by the shaded column in the following tables apply to the current silicon revision ( b8 ). a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x
pic24fj64ga004 family ds80000470h-page 6 ? 2009-2013 microchip technology inc. 5. module: core on a brown-out reset, both the bor and por bits may be set. this may cause the brown-out reset condition to be indistinguishable from the power-on reset. work around none. affected silicon revisions 6. module: core the pic24fj16ga002 and pic24fj16ga004 devices have 8k of data ram implemented instead of 4k. this will cause the address error trap not to function for addresses between 2000h and 27ffh. work around do not access ram beyond address 17ffh to maintain software compatibility with future device revisions. affected silicon revisions 7. module: a/d the ad1pcfg and ad1chs registers allow unimplemented channels to be selected. if these channels are selected, they will read as if tied to v ss . these channels should be disabled. work around disable channels, an13 and an14, in the ad1pcfg register by ensuring that bits 13 and 14 are cleared. ensure that bits 5 and 12 of ad1chs are main- tained cleared. if these bits are set, it will cause the a/d to reference channels an16-31. affected silicon revisions 8. module: a/d the a/d module will not generate code 511. any conversion which should result in 511 normally, will instead generate 510 or 512. work around none. affected silicon revisions 9. module: a/d with the external interrupt 0 (int0) selected to start an a/d conversion (ssrc<2:0> = 001 ), the device may not wake-up from sleep or idle mode if more than one conversion is selected per interrupt (smpi<3:0> <> 0000 ). interrupts are generated correctly if the device is not in sleep or idle mode. work around configure the a/d to generate an interrupt after every conversion (smpi<3:0> = 0000 ). use another wake-up source, such as the wdt or another interrupt source, to exit the sleep or idle mode. alternatively, perform a/d conversions in run mode. affected silicon revisions a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x
? 2009-2013 microchip technology inc. ds80000470h-page 7 pic24fj64ga004 family 10. module: i 2 c? (i2c1, sda line state) when using i2c1, the sda1 line state may not be detected properly unless it is first held low for 150 ns after enabling the i 2 c module. in master mode, this error may cause a bus colli- sion to occur instead of a start bit transmission. transmissions after the sda1 pin that have been held low will occur correctly. in slave mode, the device may not acknowledge the first packet sent after enabling the i 2 c module. in this case, it will return a nack instead of an ack. the device will correctly respond to packets after detecting a low level on the line for 150 ns. the i2c2 module operates as expected and does not exhibit this issue. work around using an external device or another i/o pin from the microcontroller, drive the sda1 pin low. if no external devices or additional i/o pins are available, it is sometimes possible to perform the work around internally, using the following steps: ? with the module in master mode, configure the rb9 pin as an output. ? clear the latb9 bit (for the default i2c1 assignment) or latb5 (for the alternate i2c1 assignment) to drive the pin low. ? enable i2c1 by setting the i2cen bit (i2c1con<15>). note that this action could appear to be a start bit to an i 2 c slave device on the bus if the rb8/scl1 pin is not driven low prior to driving rb9/sda1 low. it may be necessary to add additional capacitance to the sda1 bus in order to maintain the low logic level long enough for the module to detect the low logic level. make sure that when adding capaci- tance, that the application does not violate the i 2 c timing specifications. in slave mode, the i 2 c master device on the bus must either pull the sdax line low, then high again, prior to sending the first packet to the device, or must resend the first packet. note that 150 ns is the absolute maximum time required to avoid the issue. it is possible to work around the issue using a shorter delay in some devices. affected silicon revisions 11. module: uart when the uartx is in high-speed mode, brgh (uxmode<3>) is set; some optimal uxbrg values can cause reception to fail. work around test uxbrg values in the application to find a uxbrg value that works consistently for more high- speed applications. the user should verify that the uxbrg baud rate error does not exceed the appli- cation limits. if possible, it is recommended to use a comparable baud rate in low-speed mode. affected silicon revisions 12. module: uart when the uartx is in high-speed mode (brgh = 1 ), the auto-baud sequence can calculate the baud rate as if it were in low-speed mode. work around the calculated baud rate can be modified by the following equation: the user should verify that the baud rate error does not exceed application limits. affected silicon revisions 13. module: uart when an auto-baud is detected, the receive inter- rupt may occur twice. the first interrupt occurs at the beginning of the start bit and the second after reception of the sync field character. work around if a receive interrupt occurs, check the urxda bit (uxsta<0>) to ensure that valid data is available. on the first interrupt, no data will be present. the second interrupt will have the sync field character (55h) in the receive fifo. affected silicon revisions a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x new brg value = (auto-baud brg + 1) * 4 ? 1 a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x
pic24fj64ga004 family ds80000470h-page 8 ? 2009-2013 microchip technology inc. 14. module: uart with the auto-baud feature selected, the sync field character (0x55) may be loaded into the fifo as data. work around to prevent the sync field character from being loaded into the fifo, load the uxbrg register with either 0x0000 or 0xffff prior to enabling the auto-baud feature (abaud = 1 ). affected silicon revisions 15. module: uart the auto-baud may miscalculate for certain baud rates and clock speed combinations, resulting in a brg value that is 1 greater or less than the expected value. when uxbrg is less than 50, this can result in transmission and reception failures due to introducing error greater than 1%. work around test auto-baud calculations at various clock speed and baud rate combinations that would be used in applications. if an inaccurate uxbrg value is gen- erated, manually correct the baud rate in user code. affected silicon revisions 16. module: uart the uartx module will not generate consecutive break characters. trying to perform a back-to- back break character transmission will cause the uartx module to transmit the dummy character used to generate the first break character, instead of transmitting the second break character. break characters are generated correctly if they are followed by non-break character transmission. work around none. affected silicon revisions 17. module: output compare in pwm mode, the output compare module may miss a compare event when the current duty cycle register (ocxrs) value is 0x0000 (0% duty cycle) and the ocxrs register is updated with a value of 0x0001. the compare event is only missed the first time a value of 0x0001 is written to ocxrs and the pwm output remains low for one pwm period. subsequent pwm high and low times occur as expected. work around if the current ocxrs register value is 0x0000, avoid writing a value of 0x0001 to ocxrs. instead, write a value of 0x0002. in this case, how- ever, the duty cycle will be slightly different from the desired value. affected silicon revisions 18. module: spi when using enhanced buffer mode, some indicator bits may be set at incorrect times: ? for slave transfers, the srmpt bit (spixstat<7>) is set early, after only 7 sckx periods. ? for slave interrupt modes (siselx = 5), there is a one sckx period delay between the interrupt event and the spixif bit being set. ? there may be several instruction cycle delays between the fifo full or fifo empty events and the interrupt flags, or indicator bits being set. work around none at this time. affected silicon revisions a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 xxx x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x
? 2009-2013 microchip technology inc. ds80000470h-page 9 pic24fj64ga004 family 19. module: spi in spix slave mode (msten = 0 ), with the slave select option enabled (ssen = 1 ), the peripheral may accept transfers regardless of the ssx pin state. the received data in spixbuf will be accurate but not intended for the device. work around there is a work around using the peripheral pin select (pps) feature. one of the external inter- rupts (int1 or int2) can be mapped to the same pin as the ssx signal or the ssx signal can be mapped to a pin with interrupt-on-change (cnx) functionality. if the ssx signal changes to low (active), the interrupt flag will be set. when an spix data received interrupt occurs, the interrupt flag can be tested. if the interrupt mapped to ssx did not occur, discard the data. affected silicon revisions 20. module: spi when using enhanced buffer mode, an interrupt will not occur if the following conditions exist: ? spix buffer interrupt mode, sisel<2:0> (spixstat<4:2>), is set to interrupt when the shift register is empty (sisel<2:0> = 101 ). ? slave select mode is enabled (ssen = 1 ). this only occurs when enhanced mode, slave select mode and interrupt on shift register empty are all enabled. in other modes, the interrupt will work correctly. work around when slave select mode is enabled, interrupting on spixsr empty and tx empty will occur at the same time. therefore, interrupting on tx fifo empty (sisel<2:0> = 110 ) can be used as an alternative to interrupting when the shift register is empty (sisel<2:0> = 101 ). affected silicon revisions a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x
pic24fj64ga004 family ds80000470h-page 10 ? 2009-2013 microchip technology inc. 21. module: i/o ports the i/o pin outputs, v ol and v oh , meet the specifications in tab l e 3 below. work around none. affected silicon revisions a3/ a4 b4 b5 b8 x table 3: dc characteristics: i/o pin output specifications dc characteristics standard operating conditions: 2.0v to 3.6v (unless otherwise stated) operating temperature -40c ? t a ? +85c for industrial param no. sym characteristic min typ (1) max units conditions v ol output low voltage do10 all i/o pins ? ? .55 v i ol = 8.5 ma, v dd = 3.6v ??.4vi ol = 7.8 ma, v dd = 3.6v ??.55vi ol = 6.0 ma, v dd = 2.0v ??.4vi ol = 5.0 ma, v dd = 2.0v v oh output high voltage do20 all i/o pins 3.0 ? ? v i oh = -3.0 ma, v dd = 3.6v 2.4 ? ? v i oh = -6.0 ma, v dd = 3.6v 1.65 ? ? v i oh = -1.0 ma, v dd = 2.0v 1.4 ? ? v i oh = -3.0 ma, v dd = 2.0v note 1: data in ?typ? column is at 3.3v, +25c unless otherwise stated. parameters are for design guidance only and are not tested.
? 2009-2013 microchip technology inc. ds80000470h-page 11 pic24fj64ga004 family 22. module: i/o ports during power-on reset (por), the device may drive the osco/ra3 pin as a clock out output for approximately 20 ? s. during this time, the pin will be driven high and low rather than being set to high-impedance. this may cause issues on designs that use the pin as a general purpose i/o. designs should be reviewed to ensure that their intended operation will not be disrupted if the pin is driven during por. work around none. affected silicon revisions 23. module: jtag when entering the shift_dr state while in icsp? communications mode, an extra clock edge may be generated, causing jtag and icsp communications to lose synchronization. this prevents device programming using icsp over jtag. jtag boundary scan is not affected and operates as expected. work around none. affected silicon revisions 24. module: rtcc when performing writes to the alcfgrpt regis- ter, some bits may become corrupted. the error occurs because of desynchronization between the cpu clock domain and the rtcc clock domain. the error causes data, from the instruction following the alcfgrpt instruction, to overwrite the data in alcfgrpt. work around always follow writes to the alcfgrpt register with an additional write of the same data to a dummy location. these writes can be performed to ram locations, w registers or unimplemented sfr space. the optimal way to perform the work around: 1. read alcfgrpt into a ram location. 2. modify the alcfgrpt data, as required, in ram. 3. move the ram value into alcfgrpt and a dummy location, in back-to-back instructions. affected silicon revisions 25. module: i 2 c when the i 2 c module is operating in slave mode, after the ackstat bit is set when receiving a nack from the master, it may be cleared by the reception of a start or stop bit. due to this issue, the state of ackstat, after a transmission finishes, will vary depending on the device revision. on revisions with this issue, ackstat will be clear at the end of the transmis- sion, and will remain clear until the next nack is received from the master. on revisions without the issue, ackstat will be set at the end of a trans- mission and will remain set until receiving an ack from the master. work around store the value of the ackstat bit immediately after receiving a nack from the master. affected silicon revisions a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x
pic24fj64ga004 family ds80000470h-page 12 ? 2009-2013 microchip technology inc. 26. module: i 2 c bit and byte-based operations may not have the intended affect on the i2cxstat register. it is possible for bit and byte operations, performed on the lower byte of i2cxstat, to clear the bcl bit (i2cxstat<10>). bit and byte operation per- formed on the upper byte of i2cxstat, or on the bcl bit directly, may not be able to clear the bcl bit. work around modifications to the i2cxstat register should be done using word writes only. this can be done in ?c? by always writing to the register itself and not the individual bits. for example, the code, i2c1stat &= 0xfbff , will force the compiler to use a word-based operation to clear the bcl bit. in assembly, it is done by not using bset or bclr instructions, or instructions with the .b modifier. affected silicon revisions 27. module: uart when the uartx is configured for ir interface operations (uxmode<9:8> = 11 ), the 16x baud clock signal on the bclk pin will only be present when the module is transmitting. the pin will be idle at all other times. work around configure one of the output compare modules to generate the required baud clock signal when the uartx is receiving data or in an idle state. affected silicon revisions 28. module: i/o (peripheral pin select) the remappable pin functions multiplexed to some pins do not have a higher priority than fixed digital signals assigned to those pins. by design, a remapped digital function should always have priority over any other fixed digital function on the same pin. using these remappable and specific fixed digital functions at the same time may cause conflicts and unexpected results on: ? rp12 and pmd0 ? rp18 and pma2 (40-pin and 44-pin devices only) no other fixed digital functions are affected. work around on the affected pins, enable either the remappable peripherals, or the specific fixed digital peripherals, but not both at the same time. affected silicon revisions 29. module: uart (uerif interrupt) the uartx error interrupt may not occur, or occur at an incorrect time, if multiple errors occur during a short period of time. work around read the error flags in the uxsta register when- ever a byte is received to verify the error status. in most cases, these bits will be correct, even if the uartx error interrupt fails to occur. for possible exceptions, refer to errata # 30. affected silicon revisions a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 xxx x
? 2009-2013 microchip technology inc. ds80000470h-page 13 pic24fj64ga004 family 30. module: uart (fifo error flags) under certain circumstances, the perr and ferr error bits may not be correct for all bytes in the receive fifo. this has only been observed when both of the following conditions are met: ? the uartx receive interrupt is set to occur when the fifo is full or 3/4 full (uxsta<7:6> = 1x ), and ? more than 2 bytes with an error are received. in these cases, only the first two bytes, with a parity or framing error, will have the corresponding bits indicate correctly. the error bits will not be set after this. work around none. affected silicon revisions 31. module: core (bor) when the on-chip regulator is enabled (disvreg tied to v ss ), a bor event may spontaneously occur under the following circumstances: ?v dd is less than 2.5v, and ? the internal band gap reference is being used as a reference with the a/d converter (ad1pcfg<15> = 0 ) work around do not select the internal band gap as a reference for the a/d converter when the on-chip regulator is in tracking mode (lvdif (ifs4<8>) = 1 ). affected silicon revisions 32. module: core (instruction set) if an instruction producing a read-after-write stall condition is executed inside a repeat loop, the instruction will be executed fewer times than was intended. for example, this loop: repeat #0xf inc [w1],[++w1] will execute less than 16 times. work around avoid using repeat to repetitively execute instructions that create a stall condition. instead, use a software loop using conditional branches. the mplab ? c compiler will not generate repeat loops that cause this erratum. affected silicon revisions 33. module: memory (program space visibility) when accessing data in the psv area of data ram, it is possible to generate a false address error trap condition by reading data located precisely at the lower address boundary (8000h). if data is read using an instruction with an auto- decrement, the resulting ram address will be below the psv boundary (i.e., at 7ffeh); this will result in an address error trap. this false address error can also occur if a 32-bit mov instruction is used to read the data at location, 8000h. work around do not use the first location of a psv page (address 8000h). the mplab c compiler (v3.11 or later) supports the option, -merrata=psv_trap , to prevent it from generating code that would cause this erratum. affected silicon revisions a3/ a4 b4 b5 b8 xxx x a3/ a4 b4 b5 b8 xxx x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 xxx
pic24fj64ga004 family ds80000470h-page 14 ? 2009-2013 microchip technology inc. 34. module: rtcc under certain circumstances, the value of the alarm repeat counter (alcfgrpt<7:0>) may be unex- pectedly decremented. this happens only when a byte write to the upper byte of alcfgrpt is per- formed in the interval between a device por/bor and the first edge from the rtcc clock source. work around do not perform byte writes on alcfgrpt, particularly the upper byte. alternatively, wait until one period of the sosc has completed before performing byte writes to alcfgrpt. affected silicon revisions 35. module: spi (master mode) in master mode, the spix interrupt flag (spixif) and the spirbf bit (spixstat<0>) may both become set one-half clock cycle early, instead of on the clock edge. this occurs only under the following circumstances: ? enhanced buffer mode is disabled (spiben = 0 ); and ? the module is configured for serial data output changes on transition from clock active to clock idle state (cke = 1 ). if the application is using the interrupt flag to determine when data to be transmitted is written to the transmit buffer, the data currently in the buffer may be overwritten. work around before writing to the spix buffer, check the sckx pin to determine if the last clock edge has passed. example 1 (below) demonstrates a method for doing this. in this example, the rd1 pin functions as the spix clock, sckx, which is configured as idle low. affected silicon revisions 36. module: i 2 c (master mode) under certain circumstances, a module operating in master mode may acknowledge its own com- mand addressed to a slave device. this happens when the following occurs: ? 10-bit addressing mode is used (a10m = 1 ); and ?the i 2 c master has the same two upper address bits (i2cadd<9:8>) as the addressed slave module. in these cases, the master also acknowledges the address command and generates an erroneous i 2 c slave interrupt, as well as the i 2 c master interrupt. work around several options are available: ? when using 10-bit addressing mode, make certain that the master and slave devices do not share the same 2 msbs of their addresses. if this cannot be avoided: ? clear the a10m bit (i2cxcon<10> = 0 ) prior to performing a master mode transmit. ? read the add10 bit (i2cxstat<8>) to check for a full 10-bit match whenever a slave i 2 c interrupt occurs on the master module. affected silicon revisions example 1: checking the state of spixif against the spix clock a3/ a4 b4 b5 b8 xxx a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 xxx x while(ifs0bits.spi1if == 0){} //wait for the transmission to complete while(portdbits.rd1 == 1){} //wait for the last clock to finish spi1buf = 0xff; //write new data to the buffer
? 2009-2013 microchip technology inc. ds80000470h-page 15 pic24fj64ga004 family 37. module: i 2 c (slave mode) under certain circumstances, a module operating in slave mode may not respond correctly to some of the special addresses reserved by the i 2 c protocol. this happens when the following occurs: ? 10-bit addressing mode is used (a10m = 1 ); and ? bits, a<7:1>, of the slave address (i2cadd<7:1>) fall into the range of the reserved 7-bit address ranges: ? 1111xxx ? or ? 0000xxx ?. in these cases, the slave module acknowledges the command and triggers an i 2 c slave interrupt; it does not copy the data into the i2cxrcv register or set the rbf bit. work around do not set bits, a<7:1>, of the module?s slave address equal to ? 1111xxx ? or ? 0000xxx ?. affected silicon revisions 38. module: i 2 c the transmit buffer full flag, tbf (i2cxstat<0>), may not be cleared by hardware if a collision on the i 2 c bus occurs before the first falling clock edge during a transmission. work around none. affected silicon revisions 39. module: uart when the uartx is operating using two stop bits (stsel = 1 ), it may sample the first stop bit instead of the second one. if the device being communicated with is one using one stop bit in its communications, this may lead to framing errors. work around none. affected silicon revisions 40. module: oscillator (sosc) the low-power secondary oscillator (sosc) option, selected by the soscsel configuration bits (cw2<12:11>), is not available in this silicon revision. the oscillator in all devices functions in the default (high-gain) mode only. work around none. affected silicon revisions 41. module: voltage regulator the standby mode wake-up option, selected by the wutsel configuration bits (cw2<14:13>), is not available in this silicon revision. all devices use the default regulator wake-up time of 190 ? s. work around none. affected silicon revisions a3/ a4 b4 b5 b8 xxx x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 xxx x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 x
pic24fj64ga004 family ds80000470h-page 16 ? 2009-2013 microchip technology inc. 42. module: core (code protection) when general segment code protection has been enabled (gcp configuration bit is pro- grammed), applications are unable to write to the first 512 bytes of the program memory space (0000h through 0200h). in applications that may require the interrupt vectors to be changed during run time, such as bootloaders, modifications to the interrupt vector tables (ivts) will not be possible. work around create two new interrupt vector tables, one each for the ivt and aivt, in an area of program space beyond the affected region. map the addresses in the old vector tables to the new tables. these new tables can then be modified as needed to the actual addresses of the isrs. affected silicon revisions 43. module: spi spix operating in enhanced buffer mode (spiben = 1 ) may set the interrupt flag, spixif, before the last bit has been transmitted from the shift register. this issue only affects one of the eight interrupt modes, sisel<2:0> = 101 , which generates an interrupt when the last bit has shifted out of the shift register, indicating the transfer is complete. all other interrupt modes in enhanced buffer mode work as described in the product data sheet. work around multiple work arounds are available. select another buffer interrupt mode using the sisel<2:0> bits in the spixstat register. a comparable mode is to generate an interrupt when the fifo is empty, sisel<2:0> = 110 . another option is to monitor the srmpt bit (spixstat<7>) to determine when the shift register is empty. affected silicon revisions 44. module: uart (irda ? ) when irda reception is enabled (uxmode<12> = 1 ), the operation of the rxinv bit (uxmode<4>) is the opposite of its descrip- tion in the device data sheet (ds39881 e ); that is, setting the bit configures the module for a logic high idle state, and clearing the bit configures the module for a logic low idle state. using the bit as described in the data sheet may result in reception errors. work around invert the state of the rxinv bit. if the idle state of the received signal is logic high, set rxinv = 1 . if the idle state of the received signal is logic low, clear rxinv. affected silicon revisions 45. module: core operations that immediately follow any manipula- tions of the doze<2:0> or dozen bits (clkdiv<14:11>) may not execute properly. in particular, for instructions that operate on an sfr, data may not be read properly. also, bits automatically cleared in hardware may not be cleared if the operation occurs during this interval. work around always insert a nop instruction before and after either of the following: ? enabling or disabling doze mode by setting or clearing the dozen bit. ? before or after changing the doze<2:0> bits. affected silicon revisions a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 xxx x a3/ a4 b4 b5 b8 x a3/ a4 b4 b5 b8 xxx x
? 2009-2013 microchip technology inc. ds80000470h-page 17 pic24fj64ga004 family 46. module: spi (master mode) when operating in enhanced buffer master mode, the module may transmit two bytes or two words of data with a value of 0h, immediately upon the microcontroller waking up from sleep mode. at the same time, the module ?receives? two words or two bytes of data, also with the value of 0h. the transmission of null data occurs even if the transmit buffer registers are empty prior to the microcontroller entering sleep mode. the received null data requires that the receive buffer be read twice to clear the ?received? data. this behavior has not been observed when the module is operating in any other mode. work around when operating in enhanced buffer master mode, disable the module (spien = 0 ) before entering sleep mode. affected silicon revisions 47. module: spi (master mode) when operating in enhanced buffer master mode, the transmit buffer full status flag, spitbf, may be cleared before all data in the fifo buffer has actually been sent. this may result in data being overwritten before it can be sent. this has only been observed when the spix clock prescalers are configured for a divider of greater than 1:4. this behavior has not been observed when the module is operating in any other mode. work around several options are available: ? if possible, use a total clock prescale factor of 1:4 or less. ? do not use spitbf to indicate when new data can be written to the buffer. instead, use the spirbf or spibec flags to track the number of bytes actually transmitted. ? if the spitbf flag must be used, always wait at least one-half spix clock cycle before writing to the transmit buffer. affected silicon revisions 48. module: spi (framed spix modes) framed spix modes, as described in the device data sheet, are not supported. when using the module, verify the frmen bit (spixcon2<15>) is cleared. all other spix modes function as described. work around none. affected silicon revisions 49. module: core (data sram) during any operations to data sram (addresses above the sfr space, starting at 0800h), the device?s baseline current consump- tion (i dd ) may periodically be higher than previously specified in the data sheet. this occurs only with oscillator speeds of 1 mhz or slower, regardless of the clock mode. work around none. affected silicon revisions 50. module: i/o (porta and portb) porta pin, ra0, may not operate correctly as an input when the open-drain output is enabled for portb pin, rb0 (odcb<0>). ra0 will operate correctly as an output. work around none. affected silicon revisions a3/ a4 b4 b5 b8 xxx x a3/ a4 b4 b5 b8 xx x a3/ a4 b4 b5 b8 xxx x a3/ a4 b4 b5 b8 xx a3/ a4 b4 b5 b8 xxx x
pic24fj64ga004 family ds80000470h-page 18 ? 2009-2013 microchip technology inc. 51. module: a/d converter once the a/d module is enabled (ad1con1<15> = 1 ), it may continue to draw extra current, even if the module is later disabled (ad1con1<15> = 0 ). work around in addition to disabling the module through the adon bit, set the corresponding pmd bit (adc1md, pmd1<0>) to power it down completely. disabling the a/d module through the pmdx registers also disables the ad1pcfg registers, which in turn, affects the state of any port pins with analog inputs. users should consider the effect on i/o ports and other digital peripherals on those ports when adc1md is used for power conservation. affected silicon revisions 52. module: uart (transmit interrupt) when using utxisel = 01 (interrupt when the last character is shifted out of the transmit shift register) and the final character is being shifted out through the transmit shift register (tsr), the tx interrupt may occur before the final bit is shifted out. work around if it is critical that the interrupt processing occurs only when all transmit operations are complete, after which the following work around can be implemented: hold off the interrupt routine processing by adding a loop at the beginning of the routine that polls the transmit shift register empty bit, as shown in example 2 . affected silicon revisions example 2: delaying the isr by polling the trmt bit a3/ a4 b4 b5 b8 xxx x a3/ a4 b4 b5 b8 xx x // in uart2 initialization code ... u2stabits.utxisel0 = 1; // set to generate tx interrupt when all u2stabits.utxisel1 = 0; // transmit operations are complete. ... u2txinterrupt(void) { while(u2stabits.trmt==0); // wait for the transmit buffer to be empty ... // process interrupt
? 2009-2013 microchip technology inc. ds80000470h-page 19 pic24fj64ga004 family 53. module: i 2 c (smbus) when the smen bit for the i2c2 module (i2c2con<8>) is set to enable smbus opera- tion, the i2c 1 module may not be able to communicate properly. the observed result is bus collisions on i2c1. enabling smbus operation on the i2c1 module has no impact on i2c2. work around if both i 2 c modules and smbus operation are required for an application, only use i2c1 for smbus. affected silicon revisions a3/ a4 b4 b5 b8 xxx x
pic24fj64ga004 family ds80000470h-page 20 ? 2009-2013 microchip technology inc. data sheet clarifications the following typographic corrections and clarifications are to be noted for the latest version of the device data sheet (ds39881 e ): none. note: corrections are shown in bold . where possible, the original bold text formatting has been removed for clarity.
? 2009-2013 microchip technology inc. ds80000470h-page 21 pic24fj64ga004 family appendix a: document revision history rev a document (5/2009) initial release of this document; issued for silicon revision b5. incorporates the following current and historical silicon issues from revision a3 and b4: ?1 (jtag) ? 2 (low-voltage detect) ? 3-6 (core) ? 7-9 (a/d) ?10 (i 2 c ? i2c1 and sda line state) ? 11-16 (uart) ? 17 (output compare) ? 18-20 (spi) ? 21-22 (i/o ports) ?23 (jtag) ? 24 (rtcc) ? 25-26 (i 2 c) ?27 (uart) ? 28 (i/o ? peripheral pin select) ? 29 (uart ? uerif interrupt) ? 30 (uart ? fifo error flags) ? 31 (core ? bor) ? 32 (core ? instruction set) ? 33 (memory ? program space visibility) ? 34 (rtcc) ? 35 (spi ? master mode) ?36 (i 2 c ? master mode) ?37 (i 2 c ? slave mode) ?38 (i 2 c) ?39 (uart) ? 40 (oscillator ? sosc) ? 41 (voltage regulator) ? 42 (core ? code protection) ? 43 (spi) ? 44 (core) for data sheet clarifications: includes data sheet clarifications 1 (electrical characteristics), 2 (10-bit high-speed a/d converter), 3 (i/o ports), 4 (oscillator configuration), 5-6 (special features) and 7-9 (electrical characteristics). this document replaces these errata documents: ? ?pic24fj64ga004 family revision a3 silicon errata? (ds80316) ? ?pic24fj64ga004 family revision b4 silicon errata? (ds80384) ? ?pic24fj64ga004 family data sheet errata? (ds80333) rev b document (7/2009) amended existing silicon revision a3 as joint revision a3/a4. added silicon issue 45 (uart) to silicon revision a3/a4. added silicon revision b5; includes existing issues 16 (uart), 29 (uart ? uerif interrupt), 30 (uart ? fifo error flags), 30 (core), 33 (memory ? program space visibility), 34 (rtcc), 36 (i 2 c ? master mode), 37 (i 2 c ? slave mode), 39 (uart), 43 (spi) and 44 (core). no new silicon issues added for this revision. revised issue 25 (i 2 c) with additional information, differ- entiating erroneous bit behavior from misinterpretation of the bit state. added data sheet clarification 10 (i 2 c). rev c document (2/2010) removed existing issue 44 (core) entirely; issue 45 (uart ? irda) is now renumbered as issue 44. added new issues 45 (core), 46 and 47 (spi ? master mode), 48 (spi ? framed spi modes), 49 (core ? data sram) and 50 (i/o ? porta and portb) to various existing silicon revisions. added silicon revision b8; includes newly added and existing issues 16 (uart), 29 (uart ? uerif inter- rupt), 30 (uart ? fifo erro r flags), 31 (core ? bor), 33 (memory ? program space visibility), 34 (rtcc), 36 (i 2 c ? master mode), 37 (i 2 c ? slave mode), 39 (uart), 43 (spi), 45 (core), 46 through 47 (spi ? master mode), 48 (spi ? framed spi modes) and 50 (i/o ? porta and portb). removed all data sheet clarifications as they are addressed in the new revision of the data sheet. amended revision history to include the addition of silicon revision b5 to this document. rev d document (3/2010) updated silicon issue 50 (i/o ? porta and portb) by removing portb issues not relevant to this device family. added data sheet clarification 1 (electrical specifica- tions ? dc characteristics) to revision d of the data sheet. rev e document (9/2010) added silicon issue 51 (a/d converter) , added data sheet clarification issues 1 (guidelines for getting started with 16-bit microcontrollers) and 2 (electrical characteristics ). removed table 27-10 because table 27-3, a newer version, has been added.
pic24fj64ga004 family ds80000470h-page 22 ? 2009-2013 microchip technology inc. rev f document (11/2011) added silicon issue 52 (uart ? transmit interrupt) to revisions b4, b5 and b8. added silicon issue 53 (i 2 c ? smbus) to all silicon revisions. rev g document (2/2013) updated the minimum v bor specification (dc18) in data sheet clarification #2 to 1.8v (previously 1.96v). rev h document (5/2013) updated data sheet revision level to e. removed all existing data sheet clarifications, as they are addressed in the new revision of the data sheet.
? 2009-2013 microchip technology inc. ds80000470h-page 23 information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. it is your responsibility to ensure that your application meets with your specifications. microchip makes no representations or warranties of any kind whether express or implied, written or oral, statutory or otherwise, related to the information, including but not limited to its condition, quality, performance, merchantability or fitness for purpose . microchip disclaims all liability arising from this information and its use. use of microchip devices in life support and/or safety applications is entirely at the buyer?s risk, and the buyer agrees to defend, indemnify and hold harmless microchip from any and all damages, claims, suits, or expenses resulting from such use. no licenses are conveyed, implicitly or otherwise, under any microchip intellectual property rights. trademarks the microchip name and logo, the microchip logo, dspic, flashflex, k ee l oq , k ee l oq logo, mplab, pic, picmicro, picstart, pic 32 logo, rfpic, sst, sst logo, superflash and uni/o are registered trademarks of microchip technology incorporated in the u.s.a. and other countries. filterlab, hampshire, hi-tech c, linear active thermistor, mtp, seeval and the embedded control solutions company are registered trademarks of microchip technology incorporated in the u.s.a. silicon storage technology is a registered trademark of microchip technology inc. in other countries. analog-for-the-digital age, app lication maestro, bodycom, chipkit, chipkit logo, codeguard, dspicdem, dspicdem.net, dspicworks, dsspeak, ecan, economonitor, fansense, hi-tide, in-circuit serial programming, icsp, mindi, miwi, mpasm, mpf, mplab certified logo, mplib, mplink, mtouch, omniscient code generation, picc, picc-18, picdem, picdem.net, pickit, pictail, real ice, rflab, select mode, sqi, serial quad i/o, total endurance, tsharc, uniwindriver, wiperlock, zena and z-scale are trademarks of microchip technology incorporated in the u.s.a. and other countries. sqtp is a service mark of microchip technology incorporated in the u.s.a. gestic and ulpp are registered trademarks of microchip technology germany ii gmbh & co. kg, a subsidiary of microchip technology inc., in other countries. all other trademarks mentioned herein are property of their respective companies. ? 2009-2013, microchip technology incorporated, printed in the u.s.a., all rights reserved. printed on recycled paper. isbn: 978-1-62077-219-5 note the following details of the code protection feature on microchip devices: ? microchip products meet the specification contai ned in their particular microchip data sheet. ? microchip believes that its family of products is one of the most secure families of its kind on the market today, when used i n the intended manner and under normal conditions. ? there are dishonest and possibly illegal methods used to breach the code protection feature. all of these methods, to our knowledge, require using the microchip produc ts in a manner outside the operating specif ications contained in microchip?s data sheets. most likely, the person doing so is engaged in theft of intellectual property. ? microchip is willing to work with the customer who is concerned about the integrity of their code. ? neither microchip nor any other semiconduc tor manufacturer can guarantee the security of their code. code protection does not mean that we are guaranteeing the product as ?unbreakable.? code protection is constantly evolving. we at microchip are co mmitted to continuously improvin g the code protection features of our products. attempts to break microchip?s code protection feature may be a violation of the digital millennium copyright act. if such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that act. microchip received iso/ts-16949:2009 certification for its worldwide headquarters, design and wafer fabrication facilities in chandler and tempe, arizona; gresham, oregon and design centers in california and india. the company?s quality system processes and procedures are for its pic ? mcus and dspic ? dscs, k ee l oq ? code hopping devices, serial eeproms, microperipherals, nonvolatile memory and analog products. in addition, microchip?s quality system for the design and manufacture of development systems is iso 9001:2000 certified. quality management s ystem certified by dnv == iso/ts 16949 ==
ds80000470h-page 24 ? 2009-2013 microchip technology inc. americas corporate office 2355 west chandler blvd. chandler, az 85224-6199 tel: 480-792-7200 fax: 480-792-7277 technical support: http://www.microchip.com/ support web address: www.microchip.com atlanta duluth, ga tel: 678-957-9614 fax: 678-957-1455 boston westborough, ma tel: 774-760-0087 fax: 774-760-0088 chicago itasca, il tel: 630-285-0071 fax: 630-285-0075 cleveland independence, oh tel: 216-447-0464 fax: 216-447-0643 dallas addison, tx tel: 972-818-7423 fax: 972-818-2924 detroit farmington hills, mi tel: 248-538-2250 fax: 248-538-2260 indianapolis noblesville, in tel: 317-773-8323 fax: 317-773-5453 los angeles mission viejo, ca tel: 949-462-9523 fax: 949-462-9608 santa clara santa clara, ca tel: 408-961-6444 fax: 408-961-6445 toronto mississauga, ontario, canada tel: 905-673-0699 fax: 905-673-6509 asia/pacific asia pacific office suites 3707-14, 37th floor tower 6, the gateway harbour city, kowloon hong kong tel: 852-2401-1200 fax: 852-2401-3431 australia - sydney tel: 61-2-9868-6733 fax: 61-2-9868-6755 china - beijing tel: 86-10-8569-7000 fax: 86-10-8528-2104 china - chengdu tel: 86-28-8665-5511 fax: 86-28-8665-7889 china - chongqing tel: 86-23-8980-9588 fax: 86-23-8980-9500 china - hangzhou tel: 86-571-2819-3187 fax: 86-571-2819-3189 china - hong kong sar tel: 852-2943-5100 fax: 852-2401-3431 china - nanjing tel: 86-25-8473-2460 fax: 86-25-8473-2470 china - qingdao tel: 86-532-8502-7355 fax: 86-532-8502-7205 china - shanghai tel: 86-21-5407-5533 fax: 86-21-5407-5066 china - shenyang tel: 86-24-2334-2829 fax: 86-24-2334-2393 china - shenzhen tel: 86-755-8864-2200 fax: 86-755-8203-1760 china - wuhan tel: 86-27-5980-5300 fax: 86-27-5980-5118 china - xian tel: 86-29-8833-7252 fax: 86-29-8833-7256 china - xiamen tel: 86-592-2388138 fax: 86-592-2388130 china - zhuhai tel: 86-756-3210040 fax: 86-756-3210049 asia/pacific india - bangalore tel: 91-80-3090-4444 fax: 91-80-3090-4123 india - new delhi tel: 91-11-4160-8631 fax: 91-11-4160-8632 india - pune tel: 91-20-2566-1512 fax: 91-20-2566-1513 japan - osaka tel: 81-6-6152-7160 fax: 81-6-6152-9310 japan - tokyo tel: 81-3-6880- 3770 fax: 81-3-6880-3771 korea - daegu tel: 82-53-744-4301 fax: 82-53-744-4302 korea - seoul tel: 82-2-554-7200 fax: 82-2-558-5932 or 82-2-558-5934 malaysia - kuala lumpur tel: 60-3-6201-9857 fax: 60-3-6201-9859 malaysia - penang tel: 60-4-227-8870 fax: 60-4-227-4068 philippines - manila tel: 63-2-634-9065 fax: 63-2-634-9069 singapore tel: 65-6334-8870 fax: 65-6334-8850 taiwan - hsin chu tel: 886-3-5778-366 fax: 886-3-5770-955 taiwan - kaohsiung tel: 886-7-213-7828 fax: 886-7-330-9305 taiwan - taipei tel: 886-2-2508-8600 fax: 886-2-2508-0102 thailand - bangkok tel: 66-2-694-1351 fax: 66-2-694-1350 europe austria - wels tel: 43-7242-2244-39 fax: 43-7242-2244-393 denmark - copenhagen tel: 45-4450-2828 fax: 45-4485-2829 france - paris tel: 33-1-69-53-63-20 fax: 33-1-69-30-90-79 germany - munich tel: 49-89-627-144-0 fax: 49-89-627-144-44 italy - milan tel: 39-0331-742611 fax: 39-0331-466781 netherlands - drunen tel: 31-416-690399 fax: 31-416-690340 spain - madrid tel: 34-91-708-08-90 fax: 34-91-708-08-91 uk - wokingham tel: 44-118-921-5869 fax: 44-118-921-5820 worldwide sales and service 11/29/12


▲Up To Search▲   

 
Price & Availability of PIC24FJ64GA002

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X